DNS协议因是开放性协议导致存在哪些安全缺陷
DNS协议因是开放性协议导致存在以下安全缺陷:
单点故障:DNS采用层次化的树形结构,由树叶走向树根就可以形成一个完全合格域名(Fully Qualified Domain Name, FQDN),DNS服务器作为该FQDN唯一对外的域名数据库和对内部提供递归域名查询的系统,其安全和稳定就存在单点故障的风险。
无认证机制:DNS没有提供认证机制,查询者在收到应答时无法确认应答信息的真假,黑客可以将一个虚假的IP地址作为应答信息返回给请求者,从而引发DNS欺骗。
内部攻击:攻击者在非法或合法地控制一台DNS服务器后,可以直接操作域名数据库,修改指定域名所对应的IP,当客户发出对指定域名的查询请求后,将得到伪造的IP地址。
序列号攻击:DNS协议格式中定义了用来匹配请求数据包和响应数据报序列的ID,欺骗者利用序列号伪装成DNS服务器向客户端发送DNS响应数据包,在DNS服务器发送的真实DNS响应数据报之前到达客户端,从而将客户端带到攻击者所希望的网站,进行DNS欺骗。
信息插入攻击:攻击者可以在DNS应答报文中随意添加某些信息,指示权威域名服务器的域名及IP,如果在被影响的域名服务器上查询该域的请求,则请求都会被转向攻击者所指定的域名服务器上去,从而威胁到网络数据的完整性。
缓存中毒:DNS使用超高速缓存,当一个名称服务器收到有关域名和IP的映射信息时,它会将该信息存放在高速缓存中。这种映射表是动态更新的,但刷新有一个周期,假冒者如果在下次更新之前成功修改了这个映射表,就可以进行DNS欺骗。
信息泄露:DNS的默认设置允许任何人进行区传送(区传送一般用于主服务器和辅服务器之间的数据同步),而区传送可能会造成信息泄露。
不安全的动态更新:随着DHCP的出现,客户计算机由DHCP服务器动态分配IP地址,使原来手工更新其A(Address)记录和PTR(反向解析)记录变得很难管理,为此提出了DNS的动态更新,即DNS客户端在IP地址或名称出现更改的任何时候都可利用DNS服务器来注册和动态更新其资源记录。但黑客可以利用IP欺骗伪装成DNS服务器信任的主机对区数据进行添加、删除和替换。
DNS服务安全保护的几点建议如下:
配置辅助域名服务器进行冗余备份。辅助服务器可从主服务器中复制一整套域信息。
配置高速缓存服务器缓解DNS访问压力。高速缓存服务器可运行域名服务器软件,但是没有域名数据库软件。它从某个远程服务器取得每次域名服务器查询的结果,将它放在高速缓存中,以后查询相同的信息时就可以直接回答。
配置DNS负载均衡。DNS负载均衡技术是在DNS服务器中为同一个主机名配置多个IP地址,在应答DNS查询时,将以DNS文件中主机记录的IP地址按顺序返回不同的解析结果,从而将客户端的访问引导到不同的机器上去,达到负载均衡的目的。
使用工具进行DNS配置文件检查。有一些工具可以检查DNS配置文件,如开源软件Dlint,可以检查配置文件是否存在拼写错误,检查配置文件中是否有A记录的主机名称都有配套的PTR记录等。